#include "TStringInterceptor.h"

void TStringInterceptor::handle(SIGNED8 charValue)
{
	if (m_idx > m_length - 1)
	{
		reset();
		if (charValue == m_string[0])
		{
			m_idx = 1;
		}
	}
//	if (charValue == 0x2b)
//	{
//		asm("nop");
//	}
	if (charValue == m_string[m_idx])
	{
		m_idx++;
//		if (m_idx == 3)
//		{
//			asm("nop");
//		}
		if (m_idx == m_length)
		{
			m_bAccept = true;
		}
	}
	else
	{
//		if (m_idx == 2)
//		{
//			asm("nop");
//		}
		reset();
		if (charValue == m_string[0])
		{
			m_idx = 1;
		}
	}
}

void TStringInterceptor::reset(void)
{
	m_idx = 0;
	m_bAccept = false;
};
